/////////////////////////////////////////////////////////////////////////
//
// Amuse Engine SDK - core/object
// Copyright (c) 2014.  All Rights Reserved
//
// File:		AEBaseObject.h
// Author:		Gianluca Belardelli
// Date:		09/10/2013
//
/////////////////////////////////////////////////////////////////////////
#ifndef _AEBASEOBJECT_H_
#define _AEBASEOBJECT_H_

/// Base class for all Havok classes that have virtual functions.
/// In gcc2 for instance, if the virtual base class has data in it the vtable
/// is placed after the data, whereas most other compilers always have the vtable
/// at the start. Thus we have an empty virtual base class to force the vtable
/// to always be at the start of the derived objects.
/// All Havok managed objects inherit from a sub class of this, hkReferencedObject
/// that stores the memory size and the reference count info (if used).
class AEBaseObject
{
// Methods
protected:
	//AE_FORCEINLINE AEBaseObject( void ) { }
	virtual ~AEBaseObject( void ) {};
	//HK_DECLARE_PLACEMENT_ALLOCATOR

};

#endif // _AEBASEOBJECT_H_
